package golang

import "fmt"

func main() {
	num := 10
	change2(&num)
	fmt.Println(num)
}

// 基本数据类型、数组、结构体是值传递的，也就是拷贝传递
func change(num int) {
	num = 100
}

// Go语言中`引用类型`有: 指针、slice、map、channel
// + 引用类型通常在堆中分配存储空间
// + 引用类型作为函数参数传递,是引用传递
// + 在函数体内修改引用类型参数,会影响到函数外的值
func change2(num *int) {
	*num = 100
}
